A database is a structured collection of records that are organized in accordance with a database model. A variety of database models have been developed, including relational, hierarchical, object, and network. Database management systems are implemented as software applications or environments that control the storage of and access to stored data in accordance with a supported model.
A database can be stored on a stand-alone computing device and accessed through requests, such as queries. Queries can be formatted in accordance with a structured language (query language). A database also can be stored on a computing device that is accessible to one or more other computing devices, such as over dedicated communications links or a network. In a distributed environment, multiple applications and/or users can access a database simultaneously. Thus, the corresponding database management system can be configured to maintain the integrity of the database, such as by locking records that are being accessed or by marking data that is being accessed by another user as read-only.
In some architectures, one or more replica databases can be provided. For example, multiple regional databases can be maintained that contain identical or substantially identical information. Replica databases can reduce the amount of processing performed by a single database server, ease bandwidth constriction, and provide greater fault tolerance. The replica databases can be synchronized periodically to ensure that the store data is consistent.
Recently, mobile databases have been developed that can be accessed over a network by mobile computing devices, such as laptops, personal digital assistants, and smart phones. Data from a master database can be downloaded to a mobile device and stored as a mobile database for use when a connection to the database server is unavailable. Data then can be added to, deleted from, or modified in the mobile database. Further, when a connection between the mobile device and the master database is reestablished, the databases can be synchronized.